//
//  Array_public extension.swift
//  AJiTai
//
//  Created by 周博 on 2020/6/12.
//  Copyright © 2020 BO ZHOU. All rights reserved.
//

import Foundation


public extension Array {


    /// 防止数组越界 ,  需测试
    subscript(nullable idx: Int) -> Element? {

        if (startIndex..<endIndex).contains(idx) {
            return self[idx]
        } else {
            return nil
        }
    }
    
    
    
//    // 防止数组越界
//    subscript(_ index: Int, _ safe: Bool) -> Element? {
//        set {
//            if index < self.count,let newValue = newValue {
//                self[index] = newValue
//            }
//        }
//        get {
//            if index < self.count {
//                return self[index]
//            }
//            else {
//                return nil
//            }
//        }
//    }
    

    /// 从数组中返回一个随机元素
    public var randomElement: Element? {
        //如果数组为空，则返回nil
        guard count > 0 else { return nil }
        let randomIndex = Int(arc4random_uniform(UInt32(count)))
        return self[randomIndex]
    }
}
